1   package uba.db.sql.language;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import junit.framework.TestCase;
7   import uba.db.testhelpers.TestUtils;
8   
9   /***
10   * @version $Revision: 1.2 $
11   */
12  public class EqualComparisonTest extends TestCase {
13      private EqualComparison comp;
14      private EqualComparison sameComp;
15      private EqualComparison otherComp;
16  
17      /***
18       * @see junit.framework.TestCase#setUp()
19       */
20      protected void setUp() throws Exception {
21          super.setUp();
22          comp = new EqualComparison(new ColumnName("a"), new ColumnName("b"));
23          sameComp = new EqualComparison(new ColumnName("a"), new ColumnName("b"));
24          otherComp = new EqualComparison(new ColumnName("c"), new StringValue("hola"));
25      }
26  
27      /***
28       * Test de igualdad entre dos instancias.
29       */
30      public void testEquals() throws Exception {
31          TestUtils.assertEqualsImplementation(comp, sameComp, otherComp);
32      }
33  
34      /***
35       * Test: obtener el resultado de una comparacion
36       */
37      public void testIsTrueWith() throws Exception {
38          Map values = new HashMap();
39          values.put(new ColumnName("a"), "a value");
40          values.put(new ColumnName("b"), "b value");
41          values.put(new ColumnName("c"), "hola");
42  
43          EvaluationContext context = new MockEvaluationContext(values);
44  
45          assertFalse(comp.isTrueWith(context));
46          assertEquals(Boolean.FALSE, comp.valueWith(context));
47          assertTrue(otherComp.isTrueWith(context));
48          assertEquals(Boolean.TRUE, otherComp.valueWith(context));
49      }
50  }